package com.xingu.xg.service;

import com.xingu.xg.common.consts.ComResult;
import com.xingu.xg.domain.XgMenu;
import com.xingu.xg.vo.AddNodeQuery;
import com.xingu.xg.vo.CopyNodeQuery;
import com.xingu.xg.vo.DeleteNodeQuery;

/**
 * (XgMenu)表服务接口
 *
 * @author L
 * @since 2024-05-16 00:04:19
 */
public interface XgMenuService {

    ComResult<XgMenu> queryAllByProjectId(String projectId);

    ComResult addNode(AddNodeQuery addNodeQuery);

    /**
     * 加载菜单到缓存
     */
    void loadMenu();

    /**
     * 复制节点
     *
     * @param copyNodeQuery
     * @return
     */
    ComResult copyNode(CopyNodeQuery copyNodeQuery);

    ComResult deleteNode(DeleteNodeQuery deleteNodeQuery);

    ComResult add(XgMenu xgMenu);
}

